package com.ryder.petmatediarybackend.module.log.entity;

import java.time.LocalDateTime;
import java.io.Serial;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.io.Serializable;

 /**
 * 描述: 系统登录日志表（含第三方登录）(SysLoginLog)实体类
 * 
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-27 11:12:16
 */
@Data
public class SysLoginLog implements Serializable {

    @Serial
    private static final long serialVersionUID = -79286666153931999L;

    /**
     * 主键ID（雪花ID生成）
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 登录IP
     */
    private String loginIp;

    /**
     * 登录地点
     */
    private String loginLocation;

    /**
     * 登录设备/浏览器信息
     */
    private String loginDevice;

    /**
     * 登录方式：1=账号密码 2=邮箱 3=SSO
     */
    private Integer loginMethod;

    /**
     * 登录状态：0=失败 1=成功
     */
    private Integer loginStatus;

    /**
     * 登录来源：1=系统 2=微信 3=GitHub 4=QQ 等
     */
    private Integer loginSource;

    /**
     * 失败原因
     */
    private String failReason;

    /**
     * 登录时间
     */
    private LocalDateTime loginTime;
}
